package com.tjsinfo.tjsoa.workplan.dao;

import java.util.Date;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;

import com.tjsinfo.tjsoa.workplan.vo.WorkPlanMain;
//import com.tjsinfo.tjsoa.workplan.vo.WorkPlanDefine;
//import com.tjsinfo.tjsoa.workplan.vo.WorkPlanExamine;

public interface IWorkPlanMainDao extends IBaseDao {
	public WorkPlanMain selectDateTime(Date date, String type, Integer userid);
	/**
	 * 根据主键查询
	 * @param id
	 * @return
	 */
	public WorkPlanMain selectOneById(final String id);
	/**
	 * 根据类型和年份查询

	 * @param 工作日志
	 * @return
	 */
	public List selectWorkPlanMainYearAndType(final WorkPlanMain workPlanMain);
	/**
	 * 根据类型年份和状态查询

	 * @param 工作日志
	 * @return
	 */
	public List selectWorkPlanMainYearAndTypeAndStart(final WorkPlanMain workPlanMain);
	
	/**
	 * 根据计划ID查询同时抓取批示
	 */
	public WorkPlanMain selectWorkPlan(final String jihua);
	
	public List selectWorkPlanMainUserAndType(final WorkPlanMain workPlanMain);
	
	public List selectWorkPlanMainUserAndTypeAndStart(final WorkPlanMain workPlanMain);
	
	public List selectWorkPlanMainUser(final WorkPlanMain workPlanMain);
	/**
	 * 根据类型和年份用户查询

	 * @param 工作日志
	 * @return
	 */
	public List selectWorkPlanMainYearAndTypeAndUser(final WorkPlanMain workPlanMain);
	/**
	 * 查询默认日日志

	 * @param 工作日志
	 * @return
	 */
	public List selectDefanultDateWorkPlan(final WorkPlanMain workPlanMain);
	/**
	 * 查询默认年日志

	 * @param 工作日志
	 * @return
	 */
	public List checkDefaultWorkPlanYear(final WorkPlanMain workPlanMain);
	/**
	 * 模糊查询工作日志
	 * @param 工作日志
	 * @return
	 */
	public List selectLikeWorkPlan(final WorkPlanMain workPlanMain);
	/**
	 * 模糊查询工作日志以类型为条件
	 * @param 工作日志
	 * @return
	 */
	public List selectLikeWorkPlanType(final WorkPlanMain workPlanMain);
	
	public WorkPlanMain selectWorkPlanDateDayUser(WorkPlanMain workPlanMain);

}
